Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


.github/workflows/build.yml 7867034f5d7e21595f7481f75710a1246946b49f (7867034f) Text, 6.21 KB

T8b949e# Native build verification (Windows + macOS).
T8b949e#
T8b949e# Pulls the prebuilt meshchatx/public artifact produced by the reusable
T8b949e# Frontend build workflow so that each platform job only has to compile the
T8b949e# cx_Freeze backend and run electron-builder.
T8b949e#
T8b949e# Pinned first-party actions (bump tag and SHA together when upgrading):
T8b949e# actions/checkout@v6.0.1 8e8c483db84b4bee98b60c0593521ed34d9990e8
T8b949e# actions/setup-python@v6.2.0 a309ff8b426b58ec0e2a45f0f869d46889d02405
T8b949e# actions/setup-node@v6.1.0 395ad3262231945c25e8478fd5baf05154b1d79f
T8b949e# actions/download-artifact@v5.0.0 634f93cb2916e3fdff6788551b99b062d0335ce0

Tff7b72nameTb4b4b4: Ta5d6ffBuild

Tff7b72onTb4b4b4:
Tff7b72pushTb4b4b4:
Tff7b72branchesTb4b4b4:
Tb4b4b4- Ta5d6ffdev
Tff7b72pull_requestTb4b4b4:
Tff7b72branchesTb4b4b4:
Tb4b4b4- Ta5d6ffdev
Tff7b72workflow_dispatchTb4b4b4:

Tff7b72permissionsTb4b4b4:
Tff7b72contentsTb4b4b4: Ta5d6ffread

Tff7b72concurrencyTb4b4b4:
Tff7b72groupTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffgithub.workflowTa5d6ff Ta5d6ff}}-${{Ta5d6ff Ta5d6ffgithub.refTa5d6ff Ta5d6ff}}
Tff7b72cancel-in-progressTb4b4b4: Ta5d6fftrue

Tff7b72envTb4b4b4:
Tff7b72FORCE_JAVASCRIPT_ACTIONS_TO_NODE24Tb4b4b4: Ta5d6fftrue
Tff7b72NODE_OPTIONSTb4b4b4: Ta5d6ff--max-old-space-size=8192
Tff7b72PYTHON_VERSIONTb4b4b4: Ta5d6ff"Ta5d6ff3.14Ta5d6ff"
Tff7b72NODE_VERSIONTb4b4b4: Ta5d6ff"Ta5d6ff24Ta5d6ff"
Tff7b72POETRY_VERSIONTb4b4b4: Ta5d6ff"Ta5d6ff2.3.4Ta5d6ff"
Tff7b72PNPM_VERSIONTb4b4b4: Ta5d6ff"Ta5d6ff10.32.1Ta5d6ff"

Tff7b72jobsTb4b4b4:
Tff7b72frontendTb4b4b4:
Tff7b72nameTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffartifact
Tff7b72usesTb4b4b4: Ta5d6ff./.github/workflows/frontend-build.yml
Tff7b72permissionsTb4b4b4:
Tff7b72contentsTb4b4b4: Ta5d6ffread
Tff7b72withTb4b4b4:
Tff7b72artifact_nameTb4b4b4: Ta5d6ffmeshchatx-frontend-build-${{Ta5d6ff Ta5d6ffgithub.run_idTa5d6ff Ta5d6ff}}-${{Ta5d6ff Ta5d6ffgithub.run_attemptTa5d6ff Ta5d6ff}}
Tff7b72retention_daysTb4b4b4: Ta5d6ff1

Tff7b72build-testTb4b4b4:
Tff7b72nameTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6fftestTa5d6ff Ta5d6ff(${{Ta5d6ff Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff}})
Tff7b72needsTb4b4b4: Ta5d6fffrontend
Tff7b72permissionsTb4b4b4:
Tff7b72contentsTb4b4b4: Ta5d6ffread
Tff7b72strategyTb4b4b4:
Tff7b72fail-fastTb4b4b4: Ta5d6fffalse
Tff7b72matrixTb4b4b4:
Tff7b72includeTb4b4b4:
Tb4b4b4- Tff7b72osTb4b4b4: Ta5d6ffwindows-latest
Tff7b72labelTb4b4b4: Ta5d6ffwindows
Tff7b72timeoutTb4b4b4: Ta5d6ff120
Tff7b72build_scriptTb4b4b4: Ta5d6ffscripts/ci/github-build-windows.sh
Tb4b4b4- Tff7b72osTb4b4b4: Ta5d6ffmacos-latest
Tff7b72labelTb4b4b4: Ta5d6ffmacos
Tff7b72timeoutTb4b4b4: Ta5d6ff180
Tff7b72build_scriptTb4b4b4: Ta5d6ffscripts/ci/github-build-macos.sh
Tff7b72runs-onTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffmatrix.osTa5d6ff Ta5d6ff}}
Tff7b72timeout-minutesTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffmatrix.timeoutTa5d6ff Ta5d6ff}}
Tff7b72defaultsTb4b4b4:
Tff7b72runTb4b4b4:
Tff7b72shellTb4b4b4: Ta5d6ffbash
Tff7b72envTb4b4b4:
Tff7b72FRONTEND_ARTIFACT_NAMETb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffneeds.frontend.outputs.artifact_nameTa5d6ff Ta5d6ff}}
Tff7b72MESHCHATX_FRONTEND_PREBUILTTb4b4b4: Ta5d6ff"Ta5d6ff1Ta5d6ff"
Tff7b72stepsTb4b4b4:
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCheckout
Tff7b72usesTb4b4b4: Ta5d6ffactions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetTa5d6ff Ta5d6ffupTa5d6ff Ta5d6ffPython
Tff7b72usesTb4b4b4: Ta5d6ffactions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
Tff7b72withTb4b4b4:
Tff7b72python-versionTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffenv.PYTHON_VERSIONTa5d6ff Ta5d6ff}}

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffPoetryTa5d6ff Ta5d6ff(PyPITa5d6ff Ta5d6ffpin)
Tff7b72envTb4b4b4:
Tff7b72POETRY_VERSIONTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffenv.POETRY_VERSIONTa5d6ff Ta5d6ff}}
Tff7b72runTb4b4b4: Ta5d6ffbashTa5d6ff Ta5d6ffscripts/ci/github-install-poetry.sh

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffEnableTa5d6ff Ta5d6ffpnpmTa5d6ff Ta5d6ff(corepack)
Tff7b72runTb4b4b4: Ta5d6ffcorepackTa5d6ff Ta5d6ffenableTa5d6ff Ta5d6ff&&Ta5d6ff Ta5d6ffcorepackTa5d6ff Ta5d6ffprepareTa5d6ff Ta5d6ff"pnpm@${PNPM_VERSION}"Ta5d6ff Ta5d6ff--activate

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetTa5d6ff Ta5d6ffupTa5d6ff Ta5d6ffNode
Tff7b72usesTb4b4b4: Ta5d6ffactions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
Tff7b72withTb4b4b4:
Tff7b72node-versionTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffenv.NODE_VERSIONTa5d6ff Ta5d6ff}}
Tff7b72cacheTb4b4b4: Ta5d6ffpnpm
Tff7b72cache-dependency-pathTb4b4b4: Ta5d6ffpnpm-lock.yaml

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffdependencies
Tff7b72runTb4b4b4: Ta5d6ffbashTa5d6ff Ta5d6ffscripts/ci/github-install-deps.sh

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffRosettaTa5d6ff Ta5d6ff(AppleTa5d6ff Ta5d6ffSilicon)
Tff7b72ifTb4b4b4: Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'macos'
Tff7b72runTb4b4b4: Ta5d6ff/usr/sbin/softwareupdateTa5d6ff Ta5d6ff--install-rosettaTa5d6ff Ta5d6ff--agree-to-licenseTa5d6ff Ta5d6ff||Ta5d6ff Ta5d6fftrue

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffEnsureTa5d6ff Ta5d6ffx86_64Ta5d6ff Ta5d6ffHomebrewTa5d6ff Ta5d6ff(/usr/local)Ta5d6ff Ta5d6ffforTa5d6ff Ta5d6ffuniversalTa5d6ff Ta5d6ffslice
Tff7b72ifTb4b4b4: Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'macos'
Tff7b72runTb4b4b4: Ta5d6ffbashTa5d6ff Ta5d6ffscripts/ci/github-ensure-macos-x86-64-homebrew.sh

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetTa5d6ff Ta5d6ffupTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6ffx64Ta5d6ff Ta5d6ffforTa5d6ff Ta5d6ffcx_FreezeTa5d6ff Ta5d6ffuniversalTa5d6ff Ta5d6ffslice
Tff7b72idTb4b4b4: Ta5d6ffpython_x64
Tff7b72ifTb4b4b4: Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'macos'
Tff7b72usesTb4b4b4: Ta5d6ffactions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
Tff7b72withTb4b4b4:
Tff7b72python-versionTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffenv.PYTHON_VERSIONTa5d6ff Ta5d6ff}}
Tff7b72architectureTb4b4b4: Ta5d6ffx64
Tff7b72update-environmentTb4b4b4: Ta5d6fffalse

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffExportTa5d6ff Ta5d6ffPYTHON_CMD_X64Ta5d6ff Ta5d6ffforTa5d6ff Ta5d6ffmacTa5d6ff Ta5d6ffuniversalTa5d6ff Ta5d6ffbuild
Tff7b72ifTb4b4b4: Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'macos'
Tff7b72runTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"PYTHON_CMD_X64=${{Ta5d6ff Ta5d6ffsteps.python_x64.outputs.python-pathTa5d6ff Ta5d6ff}}"Ta5d6ff Ta5d6ff>>Ta5d6ff Ta5d6ff"$GITHUB_ENV"

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffx86_64Ta5d6ff Ta5d6ffcodec2Ta5d6ff Ta5d6ffforTa5d6ff Ta5d6ffpycodec2Ta5d6ff Ta5d6ff(universalTa5d6ff Ta5d6ffslice)
Tff7b72ifTb4b4b4: Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'macos'
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72set -euo pipefail
Tff7b72arch -x86_64 /usr/local/bin/brew install codec2

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffprojectTa5d6ff Ta5d6ffdepsTa5d6ff Ta5d6ffintoTa5d6ff Ta5d6ffx64Ta5d6ff Ta5d6ffPythonTa5d6ff Ta5d6ff(macTa5d6ff Ta5d6ffuniversalTa5d6ff Ta5d6ffcx_Freeze)
Tff7b72ifTb4b4b4: Ta5d6ffmatrix.labelTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'macos'
Tff7b72envTb4b4b4:
Tff7b72PY_X64Tb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsteps.python_x64.outputs.python-pathTa5d6ff Ta5d6ff}}
Tff7b72ARCHFLAGSTb4b4b4: Ta5d6ff"Ta5d6ff-archTe6edf3 Ta5d6ffx86_64Ta5d6ff"
Tff7b72CCTb4b4b4: Ta5d6ff"Ta5d6ffclangTe6edf3 Ta5d6ff-archTe6edf3 Ta5d6ffx86_64Ta5d6ff"
Tff7b72CXXTb4b4b4: Ta5d6ff"Ta5d6ffclang++Te6edf3 Ta5d6ff-archTe6edf3 Ta5d6ffx86_64Ta5d6ff"
Tff7b72CFLAGSTb4b4b4: Ta5d6ff"Ta5d6ff-archTe6edf3 Ta5d6ffx86_64Ta5d6ff"
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72set -euo pipefail
Tff7b72_codec2="$(arch -x86_64 /usr/local/bin/brew --prefix codec2)"
Tff7b72export LDFLAGS="-L${_codec2}/lib -arch x86_64"
Tff7b72export CPPFLAGS="-I${_codec2}/include"
Tff7b72export PKG_CONFIG_PATH="${_codec2}/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig"
Tff7b72arch -x86_64 "$PY_X64" -m pip install -U pip setuptools wheel
Tff7b72arch -x86_64 "$PY_X64" -m pip install "cx-freeze>=7.0.0"
Tff7b72arch -x86_64 "$PY_X64" -m pip install -e .
Tff7b72arch -x86_64 "$PY_X64" scripts/patch_lxst_pyogg_ogg_ctypes.py

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffDownloadTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffartifact
Tff7b72usesTb4b4b4: Ta5d6ffactions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0
Tff7b72withTb4b4b4:
Tff7b72nameTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffenv.FRONTEND_ARTIFACT_NAMETa5d6ff Ta5d6ff}}
Tff7b72pathTb4b4b4: Ta5d6ffmeshchatx/public

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffVerifyTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffartifactTa5d6ff Ta5d6ffcontents
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72set -euo pipefail
Tff7b72test -f meshchatx/public/index.html
Tff7b72test -d meshchatx/public/assets
Tff7b72test -d meshchatx/public/reticulum-docs-bundled/current

Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffdistributables
Tff7b72runTb4b4b4: Ta5d6ffbashTa5d6ff Ta5d6ff"${{Ta5d6ff Ta5d6ffmatrix.build_scriptTa5d6ff Ta5d6ff}}"


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────